home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / Interfaces / Universal Interfaces 2.0a3 / Universal AIncludes / TextUtils.a < prev    next >
Encoding:
Text File  |  1994-11-11  |  13.2 KB  |  734 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        TextUtils.a
  3. ;
  4. ;    Copyright:    © 1984-1994 by Apple Computer, Inc.
  5. ;                All rights reserved.
  6. ;
  7. ;    Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8. ;
  9. ;    Bugs?:        If you find a problem with this file, send the file and version
  10. ;                information (from above) and the problem description to:
  11. ;
  12. ;                    Internet:    apple.bugs@applelink.apple.com
  13. ;                    AppleLink:    APPLE.BUGS
  14. ;
  15. ;
  16.  
  17.     IF &TYPE('__TEXTUTILS__') = 'UNDEFINED' THEN
  18. __TEXTUTILS__ SET 1
  19.  
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24. ;        include 'ConditionalMacros.a'                                ;
  25.  
  26.     IF &TYPE('__SCRIPT__') = 'UNDEFINED' THEN
  27.     include 'Script.a'
  28.     ENDIF
  29. ;        include 'Quickdraw.a'                                        ;
  30. ;            include 'MixedMode.a'                                    ;
  31. ;            include 'QuickdrawText.a'                                ;
  32. ;        include 'IntlResources.a'                                    ;
  33. ;        include 'Events.a'                                            ;
  34. ;            include 'OSUtils.a'                                    ;
  35. ;                include 'Memory.a'                                    ;
  36. ;
  37. ;
  38. ;    Here are the current routine names and the translations to the older forms.
  39. ;    Please use the newer forms in all new code and migrate the older names out of existing
  40. ;    code as maintainance permits.
  41. ;    
  42. ;    New Name                    Old Name(s)
  43. ;    
  44. ;    CompareString                IUCompPString IUMagString IUMagPString IUCompString 
  45. ;    CompareText
  46. ;    DateString                    IUDatePString IUDateString 
  47. ;    EqualString                            
  48. ;    ExtendedToString            FormatX2Str
  49. ;    FindScriptRun
  50. ;    FindWordBreaks                NFindWord FindWord
  51. ;    FormatRecToString            Format2Str
  52. ;    GetIndString            
  53. ;    GetString
  54. ;    IdenticalString                IUMagIDString IUMagIDPString IUEqualString IUEqualPString
  55. ;    IdenticalText
  56. ;    InitDateCache
  57. ;    LanguageOrder                IULangOrder
  58. ;    LongDateString                IULDateString
  59. ;    LongTimeString                IULTimeString
  60. ;    LowercaseText                LwrText LowerText
  61. ;    Munger
  62. ;    NewString                
  63. ;    NumToString                
  64. ;    RelString                
  65. ;    ReplaceText
  66. ;    ScriptOrder                    IUScriptOrder
  67. ;    SetString                
  68. ;    StringOrder                    IUStringOrder
  69. ;    StringToDate                String2Date
  70. ;    StringToExtended            FormatStr2X
  71. ;    StringToFormatRec            Str2Format
  72. ;    StringToNum                
  73. ;    StringToTime                                
  74. ;    StripDiacritics                StripText
  75. ;    StyledLineBreak
  76. ;    TextOrder
  77. ;    TimeString                    IUTimeString IUTimePString
  78. ;    TruncString
  79. ;    TruncText
  80. ;    UpperString                    UprString
  81. ;    UppercaseStripDiacritics    StripUpperText
  82. ;    UppercaseText                UprText UprText
  83. ;
  84. ; New constants for System 7.0: 
  85.  
  86. ; Constants for truncWhere argument in TruncString and TruncText 
  87. truncEnd                        EQU        0                    ; Truncate at end 
  88. truncMiddle                        EQU        $4000                ; Truncate in middle 
  89. smTruncEnd                        EQU        0                    ; Truncate at end - obsolete 
  90. smTruncMiddle                    EQU        $4000                ; Truncate in middle - obsolete 
  91. ; Constants for TruncString and TruncText results 
  92. notTruncated                    EQU        0                    ; No truncation was necessary 
  93. truncated                        EQU        1                    ; Truncation performed 
  94. truncErr                        EQU        -1                    ; General error 
  95. smNotTruncated                    EQU        0                    ; No truncation was necessary - obsolete 
  96. smTruncated                        EQU        1                    ; Truncation performed    - obsolete 
  97. smTruncErr                        EQU        -1                    ; General error - obsolete 
  98.  
  99. fVNumber                        EQU        0                    ; first version of NumFormatString 
  100. ; Special language code values for Language Order 
  101. systemCurLang                    EQU        -2                    ; current (itlbLang) lang for system script 
  102. systemDefLang                    EQU        -3                    ; default (table) lang for system script 
  103. currentCurLang                    EQU        -4                    ; current (itlbLang) lang for current script 
  104. currentDefLang                    EQU        -5                    ; default lang for current script 
  105. scriptCurLang                    EQU        -6                    ; current (itlbLang) lang for specified script 
  106. scriptDefLang                    EQU        -7                    ; default language for a specified script 
  107.  
  108. iuSystemCurLang                    EQU        -2                    ; <obsolete> current (itlbLang) lang for system script 
  109. iuSystemDefLang                    EQU        -3                    ; <obsolete> default (table) lang for system script 
  110. iuCurrentCurLang                EQU        -4                    ; <obsolete> current (itlbLang) lang for current script 
  111. iuCurrentDefLang                EQU        -5                    ; <obsolete> default lang for current script 
  112. iuScriptCurLang                    EQU        -6                    ; <obsolete> current (itlbLang) lang for specified script 
  113.  
  114. ; <obsolete> default language for a specified script 
  115. iuScriptDefLang                    EQU        -7
  116.  
  117. smBreakWord                        EQU        0
  118. smBreakChar                        EQU        1
  119. smBreakOverflow                    EQU        2
  120.  
  121. fPositive                        EQU        0
  122. fNegative                        EQU        1
  123. fZero                            EQU        2
  124.  
  125. fFormatOK                        EQU        0
  126. fBestGuess                        EQU        1
  127. fOutOfSynch                        EQU        2
  128. fSpuriousChars                    EQU        3
  129. fMissingDelimiter                EQU        4
  130. fExtraDecimal                    EQU        5
  131. fMissingLiteral                    EQU        6
  132. fExtraExp                        EQU        7
  133. fFormatOverflow                    EQU        8
  134. fFormStrIsNAN                    EQU        9
  135. fBadPartsTable                    EQU        10
  136. fExtraPercent                    EQU        11
  137. fExtraSeparator                    EQU        12
  138. fEmptyFormatString                EQU        13
  139.  
  140. NumFormatString         RECORD    0
  141. fLength                     ds.b    1
  142. fVersion                 ds.b    1
  143. data                     ds.b    254                                ; private data 
  144. sizeof                     EQU    256
  145.                         ENDR
  146.  
  147. FVector                 RECORD    0
  148. start                     ds.w    1
  149. length                     ds.w    1
  150. sizeof                     EQU    4
  151.                         ENDR
  152.  
  153. ; index by [fPositive..fZero] 
  154. ScriptRunStatus         RECORD    0
  155. script                     ds.b    1
  156. runVariant                 ds.b    1
  157. sizeof                     EQU    2
  158.                         ENDR
  159.  
  160. ; New types for System 7.0: 
  161. ; Type for truncWhere parameter in new TruncString, TruncText 
  162.  
  163. shortDate                        EQU        0
  164. longDate                        EQU        1
  165. abbrevDate                        EQU        2
  166.  
  167. ; StringToDate status values 
  168. fatalDateTime                    EQU        $8000                ; StringToDate and String2Time mask to a fatal error 
  169. longDateFound                    EQU        1                    ; StringToDate mask to long date found 
  170. leftOverChars                    EQU        2                    ; StringToDate & Time mask to warn of left over characters 
  171. sepNotIntlSep                    EQU        4                    ; StringToDate & Time mask to warn of non-standard separators 
  172. fieldOrderNotIntl                EQU        8                    ; StringToDate & Time mask to warn of non-standard field order 
  173. extraneousStrings                EQU        16                    ; StringToDate & Time mask to warn of unparsable strings in text 
  174. tooManySeps                        EQU        32                    ; StringToDate & Time mask to warn of too many separators 
  175. sepNotConsistent                EQU        64                    ; StringToDate & Time mask to warn of inconsistent separators 
  176. tokenErr                        EQU        $8100                ; StringToDate & Time mask for 'tokenizer err encountered' 
  177. cantReadUtilities                EQU        $8200
  178. dateTimeNotFound                EQU        $8400
  179. dateTimeInvalid                    EQU        $8800
  180.  
  181. DateCacheRecord         RECORD    0
  182. hidden                     ds.w    256                                ; only for temporary use 
  183. sizeof                     EQU    512
  184.                         ENDR
  185.  
  186. BreakTable                 RECORD    0
  187. charTypes                 ds.b    256
  188. tripleLength             ds.w    1
  189. triples                     ds.w    1
  190. sizeof                     EQU    260
  191.                         ENDR
  192.  
  193. ; New NBreakTable for System 7.0: 
  194. NBreakTable             RECORD    0
  195. flags1                     ds.b    1
  196. flags2                     ds.b    1
  197. version                     ds.w    1
  198. classTableOff             ds.w    1
  199. auxCTableOff             ds.w    1
  200. backwdTableOff             ds.w    1
  201. forwdTableOff             ds.w    1
  202. doBackup                 ds.w    1
  203. length                     ds.w    1                                    ; length of NBreakTable 
  204. charTypes                 ds.b    256
  205. tables                     ds.w    1
  206. sizeof                     EQU    274
  207.                         ENDR
  208.  
  209. ;
  210. ;    The following functions are new names that work on 68k and PowerPC
  211. ;
  212.     IF GENERATING68K THEN
  213.         Macro
  214.         _InitDateCache
  215.             dc.w     $2F3C
  216.             dc.w     $8204
  217.             dc.w     $FFF8
  218.             dc.w     $A8B5
  219.         EndM
  220.     ELSE
  221.         IMPORT    InitDateCache
  222.     ENDIF
  223.  
  224.     IF GENERATING68K THEN
  225.         _Munger:    OPWORD    $A9E0
  226.     ELSE
  227.         IMPORT    Munger
  228.     ENDIF
  229.  
  230.     IF GENERATING68K THEN
  231.         _NewString:    OPWORD    $A906
  232.     ELSE
  233.         IMPORT    NewString
  234.     ENDIF
  235.  
  236.     IF GENERATING68K THEN
  237.         _SetString:    OPWORD    $A907
  238.     ELSE
  239.         IMPORT    SetString
  240.     ENDIF
  241.  
  242.     IF GENERATING68K THEN
  243.         _GetString:    OPWORD    $A9BA
  244.     ELSE
  245.         IMPORT    GetString
  246.     ENDIF
  247.  
  248.     IF GENERATING68K THEN
  249.         Macro
  250.         _ScriptOrder
  251.             move.w    #$001E,-(sp)
  252.             dc.w     $A9ED
  253.         EndM
  254.     ELSE
  255.         IMPORT    ScriptOrder
  256.     ENDIF
  257.  
  258.     IF GENERATING68K THEN
  259.         Macro
  260.         _StyledLineBreak
  261.             dc.w     $2F3C
  262.             dc.w     $821C
  263.             dc.w     $FFFE
  264.             dc.w     $A8B5
  265.         EndM
  266.     ELSE
  267.         IMPORT    StyledLineBreak
  268.     ENDIF
  269.  
  270.     IF GENERATING68K THEN
  271.         Macro
  272.         _TruncString
  273.             dc.w     $2F3C
  274.             dc.w     $8208
  275.             dc.w     $FFE0
  276.             dc.w     $A8B5
  277.         EndM
  278.     ELSE
  279.         IMPORT    TruncString
  280.     ENDIF
  281.  
  282.     IF GENERATING68K THEN
  283.         Macro
  284.         _TruncText
  285.             dc.w     $2F3C
  286.             dc.w     $820C
  287.             dc.w     $FFDE
  288.             dc.w     $A8B5
  289.         EndM
  290.     ELSE
  291.         IMPORT    TruncText
  292.     ENDIF
  293.  
  294.     IF GENERATING68K THEN
  295.         Macro
  296.         _ReplaceText
  297.             dc.w     $2F3C
  298.             dc.w     $820C
  299.             dc.w     $FFDC
  300.             dc.w     $A8B5
  301.         EndM
  302.     ELSE
  303.         IMPORT    ReplaceText
  304.     ENDIF
  305.  
  306.     IF GENERATING68K THEN
  307.         Macro
  308.         _FindWordBreaks
  309.             dc.w     $2F3C
  310.             dc.w     $C012
  311.             dc.w     $001A
  312.             dc.w     $A8B5
  313.         EndM
  314.     ELSE
  315.         IMPORT    FindWordBreaks
  316.     ENDIF
  317.  
  318.     IF GENERATING68K THEN
  319.         Macro
  320.         _LowercaseText
  321.             move.w    #$0000,-(sp)
  322.             dc.w     $2F3C
  323.             dc.w     $800A
  324.             dc.w     $FFB6
  325.             dc.w     $A8B5
  326.         EndM
  327.     ELSE
  328.         IMPORT    LowercaseText
  329.     ENDIF
  330.  
  331.     IF GENERATING68K THEN
  332.         Macro
  333.         _UppercaseText
  334.             move.w    #$0400,-(sp)
  335.             dc.w     $2F3C
  336.             dc.w     $800A
  337.             dc.w     $FFB6
  338.             dc.w     $A8B5
  339.         EndM
  340.     ELSE
  341.         IMPORT    UppercaseText
  342.     ENDIF
  343.  
  344.     IF GENERATING68K THEN
  345.         Macro
  346.         _StripDiacritics
  347.             move.w    #$0200,-(sp)
  348.             dc.w     $2F3C
  349.             dc.w     $800A
  350.             dc.w     $FFB6
  351.             dc.w     $A8B5
  352.         EndM
  353.     ELSE
  354.         IMPORT    StripDiacritics
  355.     ENDIF
  356.  
  357.     IF GENERATING68K THEN
  358.         Macro
  359.         _UppercaseStripDiacritics
  360.             move.w    #$0600,-(sp)
  361.             dc.w     $2F3C
  362.             dc.w     $800A
  363.             dc.w     $FFB6
  364.             dc.w     $A8B5
  365.         EndM
  366.     ELSE
  367.         IMPORT    UppercaseStripDiacritics
  368.     ENDIF
  369.  
  370.     IF GENERATING68K THEN
  371.         Macro
  372.         _FindScriptRun
  373.             dc.w     $2F3C
  374.             dc.w     $820C
  375.             dc.w     $0026
  376.             dc.w     $A8B5
  377.         EndM
  378.     ELSE
  379.         IMPORT    FindScriptRun
  380.     ENDIF
  381.  
  382.     IF GENERATING68K THEN
  383.         Macro
  384.         _StringToDate
  385.             dc.w     $2F3C
  386.             dc.w     $8214
  387.             dc.w     $FFF6
  388.             dc.w     $A8B5
  389.         EndM
  390.     ELSE
  391.         IMPORT    StringToDate
  392.     ENDIF
  393.  
  394.     IF GENERATING68K THEN
  395.         Macro
  396.         _StringToTime
  397.             dc.w     $2F3C
  398.             dc.w     $8214
  399.             dc.w     $FFF4
  400.             dc.w     $A8B5
  401.         EndM
  402.     ELSE
  403.         IMPORT    StringToTime
  404.     ENDIF
  405.  
  406.     IF GENERATING68K THEN
  407.         Macro
  408.         _ExtendedToString
  409.             dc.w     $2F3C
  410.             dc.w     $8210
  411.             dc.w     $FFE8
  412.             dc.w     $A8B5
  413.         EndM
  414.     ELSE
  415.         IMPORT    ExtendedToString
  416.     ENDIF
  417.  
  418.     IF GENERATING68K THEN
  419.         Macro
  420.         _StringToExtended
  421.             dc.w     $2F3C
  422.             dc.w     $8210
  423.             dc.w     $FFE6
  424.             dc.w     $A8B5
  425.         EndM
  426.     ELSE
  427.         IMPORT    StringToExtended
  428.     ENDIF
  429.  
  430.     IF GENERATING68K THEN
  431.         Macro
  432.         _StringToFormatRec
  433.             dc.w     $2F3C
  434.             dc.w     $820C
  435.             dc.w     $FFEC
  436.             dc.w     $A8B5
  437.         EndM
  438.     ELSE
  439.         IMPORT    StringToFormatRec
  440.     ENDIF
  441.  
  442.     IF GENERATING68K THEN
  443.         Macro
  444.         _FormatRecToString
  445.             dc.w     $2F3C
  446.             dc.w     $8210
  447.             dc.w     $FFEA
  448.             dc.w     $A8B5
  449.         EndM
  450.     ELSE
  451.         IMPORT    FormatRecToString
  452.     ENDIF
  453.  
  454. ;
  455. ;    The following functions are old names, but are required for PowerPC builds
  456. ;    becuase InterfaceLib exports these names, instead of the new ones.
  457. ;
  458.     IF GENERATING68K THEN
  459.         Macro
  460.         _IUMagString
  461.             move.w    #$000A,-(sp)
  462.             dc.w     $A9ED
  463.         EndM
  464.     ELSE
  465.         IMPORT    IUMagString
  466.     ENDIF
  467.  
  468.     IF GENERATING68K THEN
  469.         Macro
  470.         _IUMagIDString
  471.             move.w    #$000C,-(sp)
  472.             dc.w     $A9ED
  473.         EndM
  474.     ELSE
  475.         IMPORT    IUMagIDString
  476.     ENDIF
  477.  
  478.     IF GENERATING68K THEN
  479.         Macro
  480.         _IUMagPString
  481.             move.w    #$001A,-(sp)
  482.             dc.w     $A9ED
  483.         EndM
  484.     ELSE
  485.         IMPORT    IUMagPString
  486.     ENDIF
  487.  
  488.     IF GENERATING68K THEN
  489.         Macro
  490.         _IUMagIDPString
  491.             move.w    #$001C,-(sp)
  492.             dc.w     $A9ED
  493.         EndM
  494.     ELSE
  495.         IMPORT    IUMagIDPString
  496.     ENDIF
  497.  
  498.     IF GENERATING68K THEN
  499.         Macro
  500.         _IUDateString
  501.             dc.w     $4267
  502.             dc.w     $A9ED
  503.         EndM
  504.     ELSE
  505.         IMPORT    IUDateString
  506.     ENDIF
  507.  
  508.     IF GENERATING68K THEN
  509.         Macro
  510.         _IUTimeString
  511.             move.w    #$0002,-(sp)
  512.             dc.w     $A9ED
  513.         EndM
  514.     ELSE
  515.         IMPORT    IUTimeString
  516.     ENDIF
  517.  
  518.     IF GENERATING68K THEN
  519.         Macro
  520.         _IUDatePString
  521.             move.w    #$000E,-(sp)
  522.             dc.w     $A9ED
  523.         EndM
  524.     ELSE
  525.         IMPORT    IUDatePString
  526.     ENDIF
  527.  
  528.     IF GENERATING68K THEN
  529.         Macro
  530.         _IUTimePString
  531.             move.w    #$0010,-(sp)
  532.             dc.w     $A9ED
  533.         EndM
  534.     ELSE
  535.         IMPORT    IUTimePString
  536.     ENDIF
  537.  
  538.     IF GENERATING68K THEN
  539.         Macro
  540.         _IULDateString
  541.             move.w    #$0014,-(sp)
  542.             dc.w     $A9ED
  543.         EndM
  544.     ELSE
  545.         IMPORT    IULDateString
  546.     ENDIF
  547.  
  548.     IF GENERATING68K THEN
  549.         Macro
  550.         _IULTimeString
  551.             move.w    #$0016,-(sp)
  552.             dc.w     $A9ED
  553.         EndM
  554.     ELSE
  555.         IMPORT    IULTimeString
  556.     ENDIF
  557.  
  558.     IF GENERATING68K THEN
  559.         Macro
  560.         _IUScriptOrder
  561.             move.w    #$001E,-(sp)
  562.             dc.w     $A9ED
  563.         EndM
  564.     ELSE
  565.         IMPORT    IUScriptOrder
  566.     ENDIF
  567.  
  568.     IF GENERATING68K THEN
  569.         Macro
  570.         _IULangOrder
  571.             move.w    #$0020,-(sp)
  572.             dc.w     $A9ED
  573.         EndM
  574.     ELSE
  575.         IMPORT    IULangOrder
  576.     ENDIF
  577.  
  578.     IF GENERATING68K THEN
  579.         Macro
  580.         _IUTextOrder
  581.             move.w    #$0022,-(sp)
  582.             dc.w     $A9ED
  583.         EndM
  584.     ELSE
  585.         IMPORT    IUTextOrder
  586.     ENDIF
  587.  
  588.     IF GENERATING68K THEN
  589.         Macro
  590.         _FindWord
  591.             dc.w     $2F3C
  592.             dc.w     $8012
  593.             dc.w     $001A
  594.             dc.w     $A8B5
  595.         EndM
  596.     ELSE
  597.         IMPORT    FindWord
  598.     ENDIF
  599.  
  600.     IF GENERATING68K THEN
  601.         Macro
  602.         _NFindWord
  603.             dc.w     $2F3C
  604.             dc.w     $8012
  605.             dc.w     $FFE2
  606.             dc.w     $A8B5
  607.         EndM
  608.     ELSE
  609.         IMPORT    NFindWord
  610.     ENDIF
  611.  
  612.     IF GENERATING68K THEN
  613.         _UprText:    OPWORD    $A054
  614.     ELSE
  615.         IMPORT    UprText
  616.     ENDIF
  617.  
  618.     IF GENERATING68K THEN
  619.         _LwrText:    OPWORD    $A056
  620.     ELSE
  621.         IMPORT    LwrText
  622.     ENDIF
  623.  
  624.     IF GENERATING68K THEN
  625.         _LowerText:    OPWORD    $A056
  626.     ELSE
  627.         IMPORT    LowerText
  628.     ENDIF
  629.  
  630.     IF GENERATING68K THEN
  631.         _StripText:    OPWORD    $A256
  632.     ELSE
  633.         IMPORT    StripText
  634.     ENDIF
  635.  
  636.     IF GENERATING68K THEN
  637.         _UpperText:    OPWORD    $A456
  638.     ELSE
  639.         IMPORT    UpperText
  640.     ENDIF
  641.  
  642.     IF GENERATING68K THEN
  643.         _StripUpperText:    OPWORD    $A656
  644.     ELSE
  645.         IMPORT    StripUpperText
  646.     ENDIF
  647.  
  648. ;
  649. ;    The following provide direct function prototypes for new names for 68k
  650. ;
  651.     IF GENERATING68K THEN
  652.         Macro
  653.         _DateString
  654.             move.w    #$000E,-(sp)
  655.             dc.w     $A9ED
  656.         EndM
  657.     ELSE
  658.         IMPORT    DateString
  659.     ENDIF
  660.  
  661.     IF GENERATING68K THEN
  662.         Macro
  663.         _TimeString
  664.             move.w    #$0010,-(sp)
  665.             dc.w     $A9ED
  666.         EndM
  667.     ELSE
  668.         IMPORT    TimeString
  669.     ENDIF
  670.  
  671.     IF GENERATING68K THEN
  672.         Macro
  673.         _LongDateString
  674.             move.w    #$0014,-(sp)
  675.             dc.w     $A9ED
  676.         EndM
  677.     ELSE
  678.         IMPORT    LongDateString
  679.     ENDIF
  680.  
  681.     IF GENERATING68K THEN
  682.         Macro
  683.         _LongTimeString
  684.             move.w    #$0016,-(sp)
  685.             dc.w     $A9ED
  686.         EndM
  687.     ELSE
  688.         IMPORT    LongTimeString
  689.     ENDIF
  690.  
  691.     IF GENERATING68K THEN
  692.         Macro
  693.         _CompareText
  694.             move.w    #$001A,-(sp)
  695.             dc.w     $A9ED
  696.         EndM
  697.     ELSE
  698.         IMPORT    CompareText
  699.     ENDIF
  700.  
  701.     IF GENERATING68K THEN
  702.         Macro
  703.         _IdenticalText
  704.             move.w    #$001C,-(sp)
  705.             dc.w     $A9ED
  706.         EndM
  707.     ELSE
  708.         IMPORT    IdenticalText
  709.     ENDIF
  710.  
  711.     IF GENERATING68K THEN
  712.         Macro
  713.         _LanguageOrder
  714.             move.w    #$0020,-(sp)
  715.             dc.w     $A9ED
  716.         EndM
  717.     ELSE
  718.         IMPORT    LanguageOrder
  719.     ENDIF
  720.  
  721.     IF GENERATING68K THEN
  722.         Macro
  723.         _TextOrder
  724.             move.w    #$0022,-(sp)
  725.             dc.w     $A9ED
  726.         EndM
  727.     ELSE
  728.         IMPORT    TextOrder
  729.     ENDIF
  730.  
  731.     IF ¬ OLDROUTINELOCATIONS  THEN
  732.     ENDIF
  733.     ENDIF ; __TEXTUTILS__
  734.